package com.funong.matrix.core.utils;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class ContractApproveBizInfoDTO {

    private Integer maxTotalAmount = 50000000;
    private Integer minTotalAmount = 20000000;
    private Integer deliveryDueMonthLimit = 12;
    private Integer remainContractNumLimit = 32;

    private Integer ruleResult = 1011;
    private StringBuilder ruleMemo = new StringBuilder();


    private Integer categoryId;
    private Integer salesType;
    private Integer ttType;
    private Integer tradeType;

    private Integer contractType;
    private Integer sourceContractType;


    private BigDecimal totalAmount = BigDecimal.ZERO;
    private BigDecimal extraPrice = BigDecimal.ZERO;
    private BigDecimal proteinDiffPrice = BigDecimal.ZERO;
    private BigDecimal transportPrice = BigDecimal.ZERO;
    private BigDecimal refineDiffPrice = BigDecimal.ZERO;
    private BigDecimal businessPrice = BigDecimal.ZERO;
    private BigDecimal otherPrice = BigDecimal.ZERO;


    private boolean proteinDiffPriceChanged = false;
    private boolean transportPriceChanged = false;
    private boolean refineDiffPriceChanged = false;
    private boolean businessPriceChanged = false;
    private boolean otherPriceChanged = false;


    private boolean deliveryEndTimeChanged = false;
    private boolean customerChanged = false;
    private boolean customerGroupChanged = false;

    private boolean lowExtraPrice = false;

    private boolean deliveryLong = false;

    private boolean contract2To4 = false;
    private boolean newContract3 = false;

    private boolean remainMuch = false;
    private Integer addedSignatureType = 0;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date deliveryStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date deliveryEndTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ttCreatedAt = new Date();

    private BigDecimal contractNum = BigDecimal.ZERO;

    @TableField(exist = false)
    private BigDecimal totalBillNum = BigDecimal.ZERO;

    private BigDecimal totalDeliveryNum = BigDecimal.ZERO;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date signDate;
}
